/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package auxiliar;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Schettino
 */
public class Processo {

    private static int PROX_ID = 0;
    private int id;
    private List<Pagina> paginas;
    private TabelaDePaginas tabelaDePaginas;
    private TabelaDePaginasSec tabelaDePaginasSec;
    private List<Pagina> filaMP = new ArrayList<Pagina>();
    
    public Processo() {
        paginas = new ArrayList<Pagina>();
        id = PROX_ID++;
    }

    public Processo(int id, int tamanho) {
        this.id = id;
        int numPaginas = 0;
        if (tamanho % Pagina.getTAMANHO() == 0) {
            numPaginas = (tamanho / Pagina.getTAMANHO());
        } else {
            numPaginas = (tamanho / Pagina.getTAMANHO()) + 1;
        }
        this.paginas = new ArrayList<Pagina>();
        for (int i = 0; i < numPaginas; i++) {
            this.paginas.add(new Pagina(this));
        }
        this.tabelaDePaginas = new TabelaDePaginas(numPaginas, this);
        this.tabelaDePaginasSec = new TabelaDePaginasSec(numPaginas, this);
    }

    public Processo(List<Pagina> paginas) {
        this.paginas = paginas;
        id = PROX_ID++;
    }

    public Processo(String nome, List<Pagina> paginas) {
        this.paginas = paginas;
        id = PROX_ID++;
    }

    public List<Pagina> getPaginas() {
        return paginas;
    }

    public int getId() {
        return id;
    }

    public TabelaDePaginas getTabelaDePaginas() {
        return tabelaDePaginas;
    }

    
    public void setPaginas(List<Pagina> paginas) {
        this.paginas = paginas;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void setTabelaDePaginas(TabelaDePaginas tabelaDePaginas) {
        this.tabelaDePaginas = tabelaDePaginas;
    }

    public TabelaDePaginasSec getTabelaDePaginasSec() {
        return tabelaDePaginasSec;
    }

    public void setTabelaDePaginasSec(TabelaDePaginasSec tabelaDePaginasSec) {
        this.tabelaDePaginasSec = tabelaDePaginasSec;
    }

    public List<Pagina> getFilaMP() {
        return filaMP;
    }

    public void setFilaMP(List<Pagina> filaMP) {
        this.filaMP = filaMP;
    }
}
